Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data

ABSTRACT

An information processing device includes: an outline extraction unit extracting an outline of a subject from a picked-up image of the subject; a characteristic amount extraction unit extracting a characteristic amount, by extracting sample points from points making up the outline, for each of the sample points; an estimation unit estimating a posture of a high degree of matching as a posture of the subject by calculating a degree of the characteristic amount extracted in the characteristic amount extraction unit being matched with each of a plurality of characteristic amounts that are prepared in advance and represent predetermined postures different from each other; and a determination unit determining accuracy of estimation by the estimation unit using a matching cost when the estimation unit carries out the estimation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/756,977 filed Feb. 1, 2013, which is a continuation of U.S. patentapplication Ser. No. 12/688,665 filed Jan. 15, 2010 (now U.S. Pat. No.8,395,676), which claims the benefit of priority to Japanese PatentApplication No. 2009-018179 filed Jan. 29, 2009. The entire contents ofeach of which are incorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing device, aninformation processing method, a program, and a recording medium and,more particularly, relates to an information processing device, aninformation processing method, a program, and a recording medium thatcan, for example, estimate a posture of a subject and determine theaccuracy of the estimation.

2. Description of the Related Art

As a technique for gesture recognition, techniques, such as Eagle & HawkDigital System™ of Motion Analysis Corporation, U.S., and MX MotionCapture™ of Vicon Peak, U.S., for example, are proposed. Such techniquespick up a plurality of images of a person by a plurality of camerasafter attaching markers on the person's body or putting gloves with aspecial sensor built thereinto on the person's hands and estimate aposture of the person from the plurality of picked-up images torecognize a gesture of the person.

In addition, motion region extraction techniques, such as Eye Toy®system of Sony Computer Entertainment Europe Limited for Playstation® ofSony Computer Entertainment Inc. for example, are proposed. Suchtechniques pick up an image of a person by one camera and extracts aregion with the person's motion in the picked-up image using adifference between the picked-up image and a background image in whichonly a background is picked up without including the person or adifference between frames of the picked-up image.

Further, there also exists a technique that detects, when an incidentimage is introduced to a holographic element where a plurality ofreference posture images are each recorded using, for example, areference light having a corresponding incident angle, the intensity anddirection of light exiting from the holographic element, and determineswhether or not the incident image matches one of the plurality ofreference posture images in accordance with the detected intensity anddirection of the light (for example, refer to Japanese Unexamined PatentApplication Publication No. 9-273920).

SUMMARY OF THE INVENTION

In the gesture recognition techniques described above, however, whenimages of a person are picked up, markers are attached on a person'sbody in a very large studio equipped with a plurality of cameras, orgloves are put on the person's hands to pick up the images using theplurality of cameras, which usually places a heavy burden on the person.

Further, although the motion region extraction techniques take noadditional preparation, such as attaching markers or the like on aperson, functions of the techniques have been limited to, for example,extraction of the region of movement in a picked-up image.

The present invention have been made in view of such a situation. It isdesirable to readily estimate a posture of an estimation object withoutplacing a burden on the estimation object, such as a person.

An information processing device according to an embodiment of thepresent invention includes: outline extraction means for extracting anoutline of a subject from a picked-up image of the subject:characteristic amount extraction means for extracting a characteristicamount, by extracting sample points from points making up the outline,for each of the sample points; estimation means for estimating a postureof a high degree of matching as a posture of the subject by calculatinga degree of the characteristic amount extracted in the characteristicamount extraction means being matched with each of a plurality ofcharacteristic amounts that are prepared in advance and representpredetermined postures different from each other: and determinationmeans for determining accuracy of estimation by the estimation meansusing a matching cost when the estimation means carries out theestimation.

The estimation means may use characteristic amounts, by regarding asample point positioned at a predetermined position of the subject inthe image as a starting point, which are extracted from sample pointsincluding the starting point and positioned in the vicinity of thestarting point.

The characteristic amounts may be shape context characteristic amounts.

The plurality of characteristic amounts prepared in advance andrepresenting predetermined postures different from each other may bemanaged in a database of a tree structure.

The device may further include silhouette extraction means forextracting a silhouette representing a region in which the subject showsup from the picked-up image of the subject. The outline extraction meansmay extract the outline from the silhouette.

The device may further include calculation means for calculating adistance, by executing a process of deforming the posture estimated bythe estimation means to be into the silhouette, between a sample pointmaking up an outline after the fitting and a sample point of thesilhouette. The determination means may carry out the determinationusing at least one of the matching cost and the distance supplied fromthe calculation means.

The determination means may include a discriminator learned by Boosting.

An information processing method according to an embodiment of thepresent invention, being the method for an information processing deviceestimating a posture of a subject from a picked-up image of the subject,the method includes the steps of: extracting an outline of the subjectfrom the picked-up image; extracting a characteristic amount, byextracting sample points from points making up the outline, for each ofthe sample points; estimating a posture of a high degree of matching asa posture of the subject by calculating a degree of the extractedcharacteristic amount being matched with each of a plurality ofcharacteristic amounts that are prepared in advance and representpredetermined postures different from each other; and determiningaccuracy of the estimated posture of the subject using a matching costwhen the estimation is carried out.

A program according to an embodiment of the present invention is acomputer readable program causing an information processing device, thedevice estimating a posture of a subject from a picked-up image of thesubject, to execute a process including the steps of: extracting anoutline of the subject from the picked-up image; extracting acharacteristic amount, by extracting sample points from points making upthe outline, for each of the sample points; estimating a posture of ahigh degree of matching as a posture of the subject by calculating adegree of the extracted characteristic amount being matched with each ofa plurality of characteristic amounts that are prepared in advance andrepresent predetermined postures different from each other; anddetermining accuracy of the estimated posture of the subject using amatching cost when the estimation is carried out.

A recording medium according to an embodiment of the present inventionhas a computer readable program recorded therein that causes aninformation processing device, the device estimating a posture of asubject from a picked-up image of the subject, to execute a processincluding the steps of: extracting an outline of the subject from thepicked-up image; extracting a characteristic amount, by extractingsample points from points making up the outline, for each of the samplepoints; estimating a posture of a high degree of matching as a postureof the subject by calculating a degree of the extracted characteristicamount being matched with each of a plurality of characteristic amountsthat are prepared in advance and represent predetermined postures fromeach other, and determining accuracy of the estimated posture of thesubject using a matching cost when the estimation is carried out.

In the information processing device, information processing method, theprogram, and the recording medium according to the embodiments of thepresent invention, an outline of a subject is extracted from a picked-upimage of the subject, sample points are extracted from points making upthe outline, a characteristic amount is extracted for each of the samplepoints, a matching degree is calculated that represents a degree of thecharacteristic amount being matched with each of a plurality ofcharacteristic amounts prepared in advance and representingpredetermined postures different from each other, a posture of a highdegree of matching is estimated as a posture of the subject, and theestimation accuracy is determined.

According to embodiments of the present invention, a posture of anestimation object can be estimated easily without placing a burden onthe estimation object.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a configuration of an informationprocessing device to which an embodiment of the present invention isapplied;

FIG. 2 is a flowchart illustrating processes relating to estimation of aposture;

FIG. 3 is a flowchart illustrating processes relating to extraction ofsample points;

FIG. 4 illustrates an example of a silhouette image;

FIG. 5 illustrates an example of an outline image;

FIG. 6 illustrates how a characteristic amount is extracted;

FIG. 7 illustrates how the characteristic amount is extracted;

FIG. 8 illustrates model posture image groups of a tree structure;

FIG. 9 illustrates an example of an estimation result;

FIG. 10 illustrates a configuration of an information processing deviceto which another embodiment of the present invention is applied;

FIG. 11 is a flowchart to describe processes relating to determinationof estimation accuracy;

FIG. 12 illustrates performance evaluation; and

FIG. 13 illustrates a recording medium.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention are described below with referenceto the drawings.

Embodiment

FIG. 1 illustrates a configuration of an information processing deviceto which an embodiment of the present invention is applied. Aninformation processing device 10 illustrated in FIG. 1 can be applied toa device that picks up an image (captures a picked up image) andestimates a posture of the subject appeared in the image.

The information processing device 10 illustrated in FIG. 1 is configuredto include an image input unit II, a silhouette extraction unit 12, anoutline extraction unit 13, a characteristic amount extraction unit 14,a matching unit 15, and a posture memory unit-16. The image input unit11 may be configured with a camera that picks up an image or may beconfigured with a device that has a function of capturing an imagepicked up by an image pickup device, such as a camera. The image inputunit 11 picks up an image of, for example, a person as a subject todeliver the picked-up image obtained by the image pickup to thesilhouette extraction unit 12.

The silhouette extraction unit 12 detects (extracts) a silhouetterepresenting a region in which the person in the image shows up from theimage input to the image input unit 11 and generates a silhouette image,which is an image in which the detected silhouette shows up to deliverto the outline extraction unit 13. The outline extraction unit 13carries out a process of extracting an outline of the subject fromwithin the silhouette image delivered from the silhouette extractionunit 12. Because the silhouette image is already binarized, the outlineis extracted by extracting the edge.

An outline image of the outline extracted in the outline extraction unit13 is delivered to the characteristic amount extraction unit 14. Thecharacteristic amount extraction unit 14 extracts a predeterminedcharacteristic amount from the delivered outline image to deliver to thematching unit 15. In the posture memory unit 16, the characteristicamount obtained from an image when the subject is in a predeterminedposture (referred to as a model posture image) is stored in advance foreach of a plurality of postures. By matching the characteristic amountextracted by the characteristic amount extraction unit 14 with thecharacteristic amount for each of the model posture images stored in theposture memory unit 16, the matching unit 15 estimates a posture of thesubject in the image picked up.

The information processing device 10 having such a configuration can beapplied to, for example, a device that estimates a gesture of a subjectand the like. When the accuracy of the estimation is at a predeterminedthreshold or more, it is also possible to have a configuration of addingparts of determining the accuracy of the estimation result (a fittingunit 102 and an accuracy determination unit 103 in FIG. 10) as describedlater as another embodiment when, for example, carrying out a processusing the estimated posture or when learning such that the accuracyitself becomes at a predetermined threshold or more to seek the accuracyof estimation.

With the information processing device 10 illustrated in FIG. 1, thesilhouette extraction unit 12 is provided and an example of aconfiguration in which the silhouette of the subject in the image isextracted in the silhouette extraction unit 12 and then the outline isextracted in the outline extraction unit 13 is illustrated. In thedescription that follows, the information processing device 10 with thisconfiguration is used as an example. As another configuration of theinformation processing device 10, it is also possible to have aconfiguration, though not shown, without providing the silhouetteextraction unit 12. That is, it may also be a configuration in which theimage from the image input unit 11 is directly delivered to the outlineextraction unit 13 and a configuration in which the outline of thesubject in the image is extracted from the image without extracting thesilhouette in the outline extraction unit 13.

As a method of extracting an outline from an input image, for example,there is a method using a result of learning as described below. Insimple terms, some of the pixels of a learning image are extracted fromthe input learning image as outline characteristic points used whengenerating an outline discriminator to deliver the extracted outlinecharacteristic points and the learning image to a processing unitcalculating the characteristic amount of the outline. Here, the outlinediscriminator is a relatively strong discriminator generated bystatistical learning and made with a plurality of weak discriminators,and is a discriminator used when discriminating whether or not a regionof a person's image exists among the input images utilizing the person'soutline.

Based on the delivered learning image, the processing unit calculates anoutline characteristic amount representing the extracted outline foreach of the outline characteristic points by, for example, a filteringprocess using a steerable filter to deliver the obtained outlinecharacteristic amount and the learning image to a generation unit thatgenerates a discriminator for outlines. Based on the delivered learningimage and outline characteristic amount, the generation unit carries outa process of statistical learning using, for example, Adaboost togenerate an outline discriminator that recognizes a person, who is anobject in the image. By using the outline discriminator thus generatedas the outline extraction unit 13, an outline of the subject can beextracted from the image input to the image input unit 11.

However, as illustrated in FIG. 1, by extracting the outline afterextracting the silhouette in the silhouette extraction unit 12, it isconsidered that the outline of the subject can be extracted moreaccurately. The outline of the subject can also be extracted evenwithout carrying out such learning in advance as described above fordiscriminator generation. That is, when obtaining a silhouette by thesilhouette extraction unit 12, a binarized image is generated that isrepresented by black pixels and white pixels as described later.Therefore, from such a binarized image, the parts in which black pixelsand white pixels are adjacent to each other may be extracted as anoutline, and the outline can be extracted more accurately.

From such reasons, it may have a configuration provided with thesilhouette extraction unit 12 as the information processing device 10 asillustrated in FIG. 1 when, for example, accuracy in posture estimationis increased, and it may also have a configuration not provided with thesilhouette extraction unit 12 when, for example, the accuracy may below. It may also be a configuration provided with the silhouetteextraction unit 12 in a case that the posture is estimated with a higheraccuracy by being provided with the silhouette extraction unit 12 inconsideration of the type, resolution, and the like of the image inputto the image input unit 11, and may also be a configuration not providedwith the silhouette extraction unit 12 in a case that the posture can beestimated with a high accuracy even without being provided with thesilhouette extraction unit 12.

[Process Relating to Posture Estimation]

Next, a description is given to a behavior of the information processingdevice 10 illustrated in FIG. 1. Firstly, with reference to theflowcharts in FIGS. 2 and 3, a description is given to the processesrelating to the posture estimation carried out by the informationprocessing device 10.

In step S101, the image input unit 11 captures an image. In a case thatthe image input unit 11 is configured to include, for example, a camerato pick up a still image, an image picked up by the camera is captured,and in a case that it is configured to include a camera to take a video,an image (one frame) is captured that is part of the video taken by thecamera. Alternatively, an image may also be captured that is, forexample, stored in another device through a network or the like.

In step S102, the image captured by the image input unit 11 is deliveredto the silhouette extraction unit 12 to extract a silhouette in thesilhouette extraction unit 12. That is, in the image delivered to thesilhouette extraction unit 12, the subject appears and such an image isgenerated that the subject and the parts excluding the subject areclearly distinguished from each other. For example, an image asillustrated in FIG. 4 is generated by the silhouette extraction unit 12.

FIG. 4 shows an example of a silhouette image generated from the imageby the silhouette extraction unit 12. The silhouette image is, forexample, a binarized image in which a pixel value of each pixel isbinarized to 0 or 1. The silhouette of the person in the silhouetteimage is represented by pixels in white (white pixels) that indicate apixel value of 0 while the background in the silhouette image isrepresented by pixels in black (black pixels) that indicate a pixelvalue of 1.

As a method of detecting a silhouette of a person in an image, it ispossible to use such a method that separates the background and theperson image with a threshold of a distance by measuring the distance ofthe object in the image utilizing, for example, “Stereo Vision” whichcalculates the distance of the object from the disparity of two camerasor “Laser Range Finder” which calculates the distance by radiating alaser and then measuring the time period until the reflection light isdetected.

Alternatively, in such a case that the image input unit 11 is configuredwith a camera and the camera is fixed, the background in the imagepicked up by the camera varies little. In such a case, it may also beextracted using the background differencing technique. That is, a methodcan be employed that detects a silhouette of a person in the picked-upimage by using the background differencing technique, which takes adifference between a background image that is picked up and kept inadvance where only a background is picked up without including a personand the image from the image input unit 11. In this case, an even moreaccurate extraction can be expected by using the information of themoving object extracted in the differencing process between the frames.

Alternatively, the silhouette of the person in the picked-up image canbe detected more accurately when using a method of employing Graph Cutand Stereo Vision (“Bi-Layer segmentation of binocular stereo video” V.Kolmogorov, A. Blake et al. Microsoft Research Ltd., Cambridge, UK).

Coming back to the description for the processes of the flowchart inFIG. 2, in step S103, the silhouette image extracted by the silhouetteextraction unit 12 is delivered to the outline extraction unit 13 toextract the outline in the outline extraction unit 13. That is, theoutline extraction unit 13 carries out a process of extracting theoutline from within the silhouette image delivered from the silhouetteextraction unit 12. Since the silhouette image is already binarized, theoutline is obtained by extracting the edge. It is possible to apply, forexample, a first derivation technique (Sobel operator, Robertsoperator), Laplacian of Gaussian, Canny technique, or the like to theapproach for the edge extraction. Here, the outline is given to beextracted from the silhouette image using Laplacian of Gaussian tocontinue the description.

FIG. 5 illustrates an example of the outline image generated from thesilhouette image by the outline extraction unit 13. The outline imageis, same as the silhouette image, a binarized image in which a pixelvalue of each pixel is binarized to 0 or 1. The outline of the person inthe outline image is represented by white pixels that indicate a pixelvalue of 0, while the background and the parts excluding the outline ofthe person in the outline image are represented by black pixels thatindicate a pixel value of 1.

Coming back to the description for the processes of the flowchart inFIG. 2, the outline image generated by the outline extraction unit 13 instep S103 is delivered to the characteristic amount extraction unit 14.The characteristic amount extraction unit 14 extracts a predeterminedcharacteristic amount from the delivered outline image. To extract thecharacteristic amount, sample points are extracted in step S104 andcharacteristic amounts at the extracted sample points are extracted instep S105. Firstly, a description is given to the process relating tothe extraction of the sample points carried out in step S104.

The sample points are extracted in a certain number from the outlineimage. As the method of extracting a certain number of sample pointsfrom an outline image, there is a method, for example, of extractingevenly one-dimensionally by defining the number of steps as:

(Total number of points making up outline)/(desired number of samplepoints) and by sampling per number of steps from the predeterminedpoints (pixels) making up the outline. Although such a method may beused, a description is given here to another method with reference tothe flowchart in FIG. 3.

In step S121, the distances among all points making up the outline arecalculated. For the distances, it is possible to use the Euclideandistance, for example. Next, in step S122, the minimum distance isdetected among the distances. Then, in step S123, one of the two pointsmaking up the minimum distance is deleted. For example, a point iseliminated by temporarily storing data of the point and then deletingthe data of one of the two points making up the minimum distance fromthe temporarily stored data. When there are a plurality of candidatesfor the point to be eliminated in this way, any of the points isselected and eliminated.

In step S124, the distance data configured with the eliminated point iseliminated (cleared). In step S125, it is determined whether or not thenumber of remaining points becomes a desired number of sample points. Ina case that the number of remaining points is not determined as thedesired number of sample points in step S125, the process goes back tostep S122 and the processes after that are repeated. On the other hand,in a case that the number of remaining points is determined as thedesired number of sample points in step S125, the process goes back tostep S105 (FIG. 2) to carry out the processes after that.

By extracting the sample points used to extract the characteristicamount in such a manner, it becomes possible to extract the samplepoints evenly two-dimensionally. That is, although the sample points areconcentrated in the area in which the outline is complex in the aboveextraction technique with a constant number of steps, this method canprevent such a phenomenon that the sample points come to beconcentrated.

A further description is given below with an example of extracting ashape context characteristic amount as such a characteristic amount, andby extracting sample points based on the processes of the flowchartshown in FIG. 3, an improvement of the descriptive power of the shapecontext characteristic amount is obtained and it becomes possible toimprove the accuracy of the estimation result. Although not explainedhere, such a fact is substantiated as a result of an experiment by theapplicant of the present invention.

When the distances between the points are calculated in step S121 toextract the sample points on the basis of the processes of the flowchartshown in FIG. 3, it is desirable to perform as many calculations as thesquare of the number of points. Therefore, in a case of a large numberof points making up the outline, it is considered to result in anincrease in the amount of calculation. In order to prevent the amount ofcalculation from being increased, sample points in several folds of thedesired number of sample points are firstly made to be extracted in acertain number of steps. To the result of the extraction, the methodusing the distances from each other described with reference to theflowchart in FIG. 3 may also be applied to capture the finally desiredsample points.

After thus extracting the sample points, in step S105 (FIG. 2), thecharacteristic amount extraction unit 14 extracts the characteristicamount from the outline image using the sample points. Here, the shapecontext characteristic amount is given to be extracted as thecharacteristic amount as described above to continue the description.

The characteristic amount extraction unit 14 extracts the sample pointsfrom the outline image delivered from the outline extraction unit 13 asdescribed above, and then generates a shape context characteristicamount (referred to below as a shape context characteristic amount ofthe outline) configured with a plurality of histograms representing thecharacteristics of the outline configured with the sample points.

Details of the method of generating the shape context characteristicamount are described with reference to FIG. 6. A more detailed method ofgenerating the shape context characteristic amount is described in, forexample, “Matching with shape contexts” (IEEE Workshop on Content basedAccess of Image and Video Libraries, 2000).

On the left side of FIG. 6, there are shown a plurality of concentriccircles with the center of a predetermined white pixel (sample point)being part of the outline and a plurality of regions in a generallysectorial form formed by being surrounded by lines radially extendedfrom the predetermined white pixel.

On the right side of FIG. 6, a histogram is shown that is defined by ahorizontal axis and a vertical axis, where the horizontal axis indicatesa Bin number representing the plurality of regions respectively and thevertical axis indicates the number of sample points, making up theoutline, which exist in the region of a corresponding Bin number.

The characteristic amount extraction unit 14 sequentially focuses thesample points making up the outline from the outline extraction unit 13.Then, histograms are generated from the plurality of regions, as shownon the left side of FIG. 6, formed with the focused sample point as thecenter. The characteristic amount extraction unit 14 delivers theplurality of histograms obtained in the number of focused sample pointsmaking up the outline as the shape context characteristic amount of theoutline to the matching unit 15.

For example, in a case that the number existing in a region A is five asshown on the left side of FIG. 6, the characteristic amount extractionunit 14 determines the number of sample points corresponding to the Binnumber representing the region A as five points, and in a case that thenumber existing in a region B is seven, it determines the number ofsample points corresponding to the Bin number representing the region Ba˜ seven points to generate such a histogram as shown on the right sideof FIG. 6. Then, the histogram is delivered to the matching unit 15 asthe shape context characteristic amount.

A further description is given to a procedure of extraction processingof a shape context characteristic amount carried out by thecharacteristic amount extraction unit 14. The characteristic amountextraction unit 14 focuses a predetermined pixel among the sample pointsmaking up the outline in the outline image from the outline extractionunit 13 to regard it as a focus pixel. Then, the characteristic amountextraction unit 14 establishes a plurality of regions in a generallysectorial form as shown on the left side of FIG. 6 in correspondencewith the focus pixel.

By detecting the sample points included in the region for each of theplurality of established regions, such a histogram as shown on the rightside of FIG. 6 is generated. The characteristic amount extraction unit14 determines whether or not all sample points making up the outline aretreated as focus pixels, and in a case of determining as not all thesample points are treated as focus pixels yet, the processes describedabove are repeated by giving a sample point not yet treated as a focuspixel to be a new focus pixel. Therefore, in a case that there are, forexample, 100 sample points, 100 histograms are generated.

Then, in a case of determining that all the sample points making up theoutline are treated as focus pixels, the characteristic amountextraction unit 14 regards the plurality of histograms obtained in thenumber of focused sample points making up the outline as the shapecontext characteristic amount of the outline.

With reference to FIG. 7, it is described that a predetermined histogrammaking up the shape context characteristic amount uniquely representsthe characteristics of part of a line, such as the outline. On the upperleft side and the upper right side of FIG. 7, outline pixels areillustrated respectively that are the pixels showing an outline astracing the outline of a Roman character “A”.

Since either of a region 51 of “A” on the upper left side of FIG. 7 anda region 52 of “A” on the upper right side of FIG. 7 is a region inwhich a line exists that is configured with a plurality of outlinepixels extending from the diagonal upper right towards the diagonallower left, the region 51 and the region 52 are the regions similar toeach other.

In this case, as shown on the lower side of FIG. 7, it is found that ahistogram 51 a obtained from the region 51 and a histogram 52 a obtainedfrom the region 52 are similar to each other. Since a region 53 of “A”on the left side of FIG. 7 is a region in which a line exists that isconfigured with a plurality of outline pixels extending from the lefttowards the right, it is a region completely different from the regions51 and 52. In this case, as shown on the lower side of FIG. 7, it isfound that a histogram 53 a obtained from the region 53 and thehistogram 51 a obtained from the region 51 (the histogram 52 a obtainedfrom the region 52) are different from each other.

As shown in FIG. 7, in a case that graphics (arrangements of outlinepixels) existing in a region are similar to each other, the histogramsobtained from the region are also similar to each other, and in a casethat graphics existing in a region are not similar to each other, thehistograms obtained from the region are also not similar to each other.Accordingly, a histogram obtained from a region uniquely expresses thegraphic existing in the region.

The characteristic amount extraction unit 14 thus extracts the shapecontext characteristic amount from the outline image to deliver theshape context characteristic amount to the matching unit 15. Thematching unit 15 carries out a matching in step S106 (FIG. 2). Thematching unit 15 carries out the matching by comparing the shape contextcharacteristic amount stored in the posture memory unit 16 and the shapecontext characteristic amount from the characteristic amount extractionunit 14.

In the posture memory unit 16, a type of characteristic amount same asthe characteristic amount extracted in the characteristic amountextraction unit 14, that is, a shape context characteristic amount inthis case is stored in advance. The shape context characteristic amountis extracted individually from a plurality of model posture images inwhich a plurality of postures are picked up. Further, the shape contextcharacteristic amount is managed in a database of a tree structure asdescribed later.

The matching unit 15 carries out a process of a characteristic amountmatching that calculates a degree of matching the shape contextcharacteristic amount of the outline from the characteristic amountextraction unit 14 and the shape context characteristic amount of amodel posture image stored in the posture memory unit 16 for each of theplurality of model posture images (degree of matching the shape contextcharacteristic amounts) to calculate a degree of matching the shapecontext characteristic amounts obtained for each of the plurality ofmodel posture images by the characteristic amount matching process.

That is, the matching unit 15 determines a histogram obtained at an xthsample point when, for example, sequentially putting the sample pointsmaking up the outline in order of raster scan and a histogram obtainedat an xth pixel when sequentially putting the pixels making up ˜he modelposture image in order of raster scan. Then, an evaluation is made usinga chi-square distance of each number of sample points of the Bin numberscorresponding to the histogram obtained at the xth sample point amongthe sample points making up the outline and the histogram obtained atthe xth pixel among the pixels making up the model posture image toregard an integrated value of the distance as the cost between the shapecontext characteristic amounts.

A chi-square distance x² between histograms P(k) and Q(k) having eachBin number of k is obtained by the following formula (1).

$\begin{matrix}{X^{2} = {\sum\limits_{K = 1}^{K}\;\frac{\left( {{P(k)} - {Q(k)}} \right)^{2}}{{P(k)} + {Q(k)}}}} & (1)\end{matrix}$

For example, the histogram P(k) is a histogram at a sample point beingpart of the outline, and the histogram Q(k) is a histogram of a pixelbeing part of the model posture image.

As a method of evaluating the matching degree between the histograms, itis possible to use various standards other than the chi-square distance,such as the KL divergence, the Bhattacharyya distance. In a case ofusing the KL divergence (Kullback-Leibler information), a distanceD_(PQ) from the histogram P(k) to the histogram Q(k) is obtained by thefollowing formula (2).

$\begin{matrix}{D_{PQ} = {\sum\limits_{K = 1}^{K}\;{{P(k)}\log\frac{P(k)}{Q(k)}}}} & (2)\end{matrix}$

When the integrated value of the distance is regarded as the shapecontext characteristic amount, a cost minimization algorithm, such asthe Hungarian Method, may also be used for calculation. The HungarianMethod is an approach to obtain a combination of sample groups for aminimum integration cost in a case that there are certain biserialsamples and a cost calculated by a function of some sort between thesample groups.

For example, the matching unit 15 calculates the degree of matching theshape context characteristic amounts for each of all combinations whenmatching the sample points making up the outline and the pixels makingup the model posture image respectively on one-to-one basis. Then, thematching unit 15 calculates the minimum value among the degree ofmatching the shape context characteristic amounts calculated for each ofall the combinations using a cost minimization algorithm, such as theHungarian Method, for example, to employ as the final degree of matchingthe shape context characteristic amounts.

In this case, in comparison with a case of, for example, matching thesample points making up the outline and the pixels making up the modelposture image in order of raster scan or the like on one-to-one basis, amore appropriate degree of matching the shape context characteristicamounts can be calculated. In this case, however, when there are 100sample points, for example, the shape context characteristic amount iscalculated by comparing 100 histograms for the respective sample pointsmaking up the outline and histograms for 100 pixels making up the modelposture image. That is, in this case, operations are carried out in100×100, totally ten thousand times.

In a case that a posture estimated by applying the present embodimentis, for example, a posture of a human being, there is a very highpossibility that the head of the subject in the image to be a processingobject is on the upper side in the image and the feet are on the lowerside. Therefore, it is considered that operations do not make much sensebecause of the long distance when comparing, for example, a histogram ofa sample point making up the outline of the head part and a histogram ofthe model posture image making up the outline of the foot.

In order to reduce the amount of calculations, an approach may also beused that fixes the sequence of the sample points in accordance with acertain rule to regard an integration of a distance between presetcorresponding points as the cost. The applicant of the present inventionhas confirmed that the accuracy of the estimation does not decrease evenwhen reducing the amount of calculations using this approach. It is alsoconfirmed that the throughput is remarkably improved by reducing theamount of calculations. Here, a further description is given to thisapproach. For example, a sample point at the highest position (upperposition) in the outline image is given as a starting point. Whenomitting such a situation of raising the hand, the sample point at thehighest position in the outline image is a point positioned at the topposition of the head. By comparing a histogram of such a sample pointand, for example, 100 histograms at 100 points making up a model postureimage, the distances are calculated and evaluated to use an integratedvalue of the distances as a cost between the shape contextcharacteristic amounts.

In this way, a cost may be calculated using only a histogram of a samplepoint of the outline at a predetermined position in the image. However,there is a possibility of not being able to keep the accuracy by onlyone point, so that the sample points at the back and front of the samplepoint regarded as the starting point are also included in thecomparison.

For example, five sample points positioned on the right side of thestarting point and five sample points positioned on the left side aregiven as further comparison. That is, by respectively comparing elevenhistograms at the eleven points including the starting point among thesample points in the outline image and, for example, 100 histograms at100 points making up the model posture image, the distances may also becalculated and evaluated to use an integrated value of the distances asa cost between the shape context characteristic amounts. In such a case,although operations are carried out in 11×100, totally 1100 times, it isunderstood that the number of operations can be remarkably reducedcompared to the above ten thousand operations.

The sample point to be a starting point is not limited to the samplepoint positioned at the highest position in the outline image, but maybe a sample point positioned at a predetermined position. For example,the sample point positioned at the upper left corner may also be astarting point. The plurality of sample points including such a startingpoint may be the sample points positioned at the left and right of orthe above and below the starting point. In other words, the samplepoints are used which are positioned in the vicinity of the startingpoint.

Even such an approach with a reduced amount of operations can carry outestimation of a posture without dropping the accuracy of estimation in aparticular case of a subject being a person or the like and also a caseof such an image having a certain rule for the position of the head orthe like in the image.

A further description is continuously given to the manner of estimatinga posture that reduces the amount of operations without dropping theaccuracy of estimation. The matching unit 15 carries out matching foreach of the model posture images stored in the posture memory unit 16.Here, a description is given to groups of model posture images stored inthe posture memory unit 16. FIG. 8 illustrates an example of groups ofmodel posture images stored in the posture memory unit 16.

The model posture images are managed in a database of a tree structure.FIG. 8 illustrates an example of the database of a three-lever treestructure having a first level through a third level. The first level isconfigured with L pieces of images of model posture images 111-1 through111-L. The model posture image 111-1 in the first level is associatedwith M pieces of images of model posture images 121-1 through 121-Mbeing part of the second level. Similarly, the model posture image 121-1in the second level is associated with N pieces of images of modelposture images 131-1 through 131-N being part of the third level.

The model posture images 121-1 through 121-M associated with the modelposture image 111-1 are images of postures similar to (derived from) themodel posture image 111-1. The model posture images 131-1 through 131-Nassociated with the model posture image 121-1 are images of posturessimilar to the model posture image 121-1. In other words, a deeper level(in the direction from the first level towards the third level) has animage showing a posture in more detail.

The example illustrated in FIG. 8 is an example, and the tree structuremay have a structure in which postures in a close distance belong to asame branch according to some sort of standards. It is possible toconstruct a group of model posture images configured with such a treestructure by, for example, repeating database clustering in each level.In addition, various approaches can be considered, such as a top-downtype constructing from the upper layers and a bottom-up typeconstructing from the lower layers.

As an example, the distances between each posture is obtained using atwo-dimensional coordinate of each joint of the subject (model) in themodel posture image to regard the distances as the standards. Then,using a clustering approach to approximate initial clusters configuredusing the LBG algorithm to the Gaussian Mixture Model using the EMalgorithm, a posture closest to the average value of each cluster isregarded as a representative posture of the cluster and as one of thebranches in the level. The tree structure is constructed by repeatingsuch a process.

By carrying out estimation using groups of model posture images in sucha tree structure in the present embodiment, significant speedup isachieved compared to full search. Here, suppose that full search werecarried out for all the model posture images making up the treestructure illustrated in FIG. 8. In a case of full search, there is noreason to make a tree structure. In addition, as an assumption, thenumber of the model posture images 121 making up the second levelassociated with one of the model posture images 111 being part of thefirst level were M pieces, and the number of the model posture images131 making up the third level associated with one of the model postureimages 121 being part of the second level were N pieces. In such a case,the full search is carried out for the model posture images of (L×M×N)pieces.

In contrast to full search, since a search using the groups of modelposture images of the tree structure illustrated in FIG. 8 carries outthe following processes, the model posture images for the search can bedramatically reduced in contrast to those for full search. That is, thesearch is first carried out for, for example, L pieces of the modelposture images 111-1 through 111-L making up the first level. The nextsearch is carried out for M pieces of the model posture images 121-1through 121-M in the second level associated with, for example, themodel posture image 111-1, which turns out as the minimum cost among themodel posture images 111-1 through 111-L.

Then, the next search is carried out for N pieces of the model postureimages 131-1 through 131-N in the third level associated with, forexample, the model posture image 121-1, which turns out as the minimumcost among the model posture images 121-1 through 121-L. Then, forexample, the model posture image 131-1, which turns out as the minimumcost among the model posture images 131-1 through 131-N is output as anestimation result.

By sequentially searching the model posture images from the first levelto the third level in such a manner, the number of the model postureimages for the search turns out to be (L+M+N) pieces. Therefore, thesearch can be carried out with (L+M+N) pieces much less than the (L×M×N)pieces for the full search. Therefore, as described above, it becomespossible to speed up the process by using groups of model posture imagesof a tree structure.

The matching unit 15 carries out matching in step S106 (FIG. 2) asdescribed above. Therefore, since matching is carried out for eachlevel, whether or not the matching is finished until the lowermost layeris determined in step S107. That is, in a case of a three-level treestructure as illustrated in FIG. 8, the search objects until the modelposture images 131 in the third level and matching is carried out todetermine in step S107 whether or not a piece of the minimum cost isdetermined among the model posture images 131.

In step S107, in a case of being determined that the process is notfinished matching until the lowermost layer, the processes of step S106and after that are repeated by moving in the next level. On the otherhand, in a case of being determined that the process is finishedmatching until the lowermost layer in step S107, the process isforwarded to step S108. In step S108, a maximum likelihood posture isextracted.

That is, the matching unit 15 estimates that the posture represented bya model posture image corresponding to the cost of a shape contextcharacteristic amount having the maximum degree of matching (minimumcost) among the plurality of model posture images, for example a modelposture image corresponding to the minimum degree of matching the shapecontext characteristic amounts among the plurality of degrees ofmatching the shape context characteristic amounts as the posture of thesubject in the image input to the image input unit 11 to output theestimation result.

What is output as the estimation result is data related to the positionsof the joints in the model posture image determined as the minimum cost.The description above has explained that groups of the model postureimages of such a tree structure illustrated in FIG. 8 are stored in theposture memory unit 16; specifically, coordinates of sample points,characteristic amounts (histograms) for each of the sample points, andpositions of the joints are stored for each model posture image. Forexample, in the model posture image 111-1, the coordinates of the samplepoints extracted from the model posture image 111-1, the characteristicamounts obtained respectively from the sample points, and the positions(coordinates) of the joints of the subject of the model posture image111-1 are stored as the model posture image 111-1.

Then, as a result of the estimation, in a case that the result ofcomparing with the characteristic amount of the model posture image111-1, for example, is determined as the minimum cost, the data of thepositions of the joints in the model posture image 111-1 is output asdata of the estimated posture to a processing unit in a later stage.

By thus estimating the posture of the subject in the input image bycombining the shape context characteristic amounts, which are resistantto noises and scale changes, and the database of a tree structure, theestimation can be carried out accurately and fast. Here, an example ofthe estimation result is shown in FIG. 9.

What is shown on the left side of FIG. 9 is a silhouette image generatedfrom an input image, and the white part in the center is the image atthe time of extracted as the silhouette of the subject. What is shown onthe right side of FIG. 9 is an image in which the input image and theestimation result are overlapped. In the image illustrated on the rightside of FIG. 9, the points and lines illustrates the estimated positionsof the joints. It can be confirmed from the image on the left side ofFIG. 9 that the posture of the subject in the image and the positions ofthe estimated joints match with each other and that the posture of thesubject in the image can be accurately estimated.

Since the posture is estimated as described above, the subject itself inthe image can be simply picked up in an image without putting on markersor the like. Therefore, it becomes possible to perceive a posture of aperson without placing a burden on a subject (user) and also without anyspecial environment. Therefore, application of this embodiment of thepresent invention facilitates estimation of gestures and the like of auser even, for example, in an ordinary household or the like and sodevelopment to applications, for example, utilized in ordinaryhouseholds and the like is facilitated.

Another Embodiment—Determining Accuracy of Estimation

By estimating a posture as described above, estimation of a person'sposture can be carried out without any special environment. For example,in such a case of using an estimation result as an initial position fortracking a position of each joint of a person, it is desirable to have aconsiderable quality in the estimation accuracy. In case that an initialposition for tracking a position of each joint happens to use anestimation result turned out to be of low accuracy, there is a highpossibility that the initial position itself is wrong, and thereforethere is a possibility not to be able to accurately carry out theprocesses afterwards.

By determining the accuracy of the estimation result, it becomespossible to determine, for example, whether or not to use as an initialposition for tracking the position of each joint as described abovebased on the result of the determination. By determining the accuracy ofan estimation result, the processes in the later stages using the resultare arranged not to be carried out when determined as low in accuracy,thereby it becomes possible to carry out a process with accuracyregularly kept at a certain quality or above.

In a case of carrying out such determination, an information processingdevice 100 having a configuration as illustrated in FIG. 10 is preparedby adding a fitting unit 102 and an accuracy determination unit 103 tothe information processing device 10 in FIG. 1. The informationprocessing device 100 illustrated in FIG. 10 is configured by adding thefitting unit 102 and the accuracy determination unit 103 to theinformation processing device 10 illustrated in FIG. 1, and theconfiguration other than them is identical to that of the informationprocessing device 10 illustrated in FIG. 1, so that identical referencenumerals are assigned to omit the description. However, since thematching unit 15 shown in FIG. 1 and a matching unit 101 shown in FIG.10 include different processes, the different reference numerals areassigned to them.

In the information processing device 100 illustrated in FIG. 10, theaccuracy of the posture estimated in the matching unit 101 is determinedby the fitting unit 102 and the accuracy determination unit 103. In theinformation processing device 100, estimation of a posture is carriedout by carrying out the processes as described above and the estimationresult is output from the matching unit 101, and at that time, the costfor matching the shape context characteristic amounts of the posture andthe input image is output as well as the maximum likelihood posture.

From the matching unit 101 to the fitting unit 102, data of thepositions of joints in the maximum likelihood posture and data of samplepoints are delivered. In addition, data of the sample points of theinput image is delivered from the characteristic amount extraction unit14. In the fitting unit 102, a morphing method of Bookstein, forexample, is used to carry out a process such that the data of thepositions of the joints in the maximum likelihood posture is fit intothe sample points of the input image. Then, using the fit data of thepositions of the joints, the distances between the maximum likelihoodposture and the sample points of the input image are calculated to beoutput.

The matching cost output from the matching unit 101 and the distancesbetween the sample points output from the fitting unit 102 are input tothe accuracy determination unit 103, and a discriminator that havelearned in advance by Boosting carries out determination whether theestimation accuracy is fair or not to output the result.

Then, with reference to a flowchart in FIG. 11, a description is givento the processes for determining the accuracy of estimation. As apostulate to carry out the processes of the flowchart in FIG. 11, in theimage input unit 11 through the matching unit 101, the processesdescribed with reference to the flowcharts in FIGS. 2 and 3, that is,the processes relating to the estimation of posture in the embodimentdescribed earlier are carried out to be in the condition possible toobtain the estimation result. Since the processes relating to theestimation are already described, the description is omitted here.

In step S151, the fitting unit 102 and the accuracy determination unit103 capture the data related to the posture estimated from the matchingunit 101. As described above, in the matching unit 101, matching iscarried out between the shape context characteristic amount generatedbased on a certain number of the sample points extracted from the inputimage and the shape context characteristic amount of model posturegroups generated in accordance with the same rule in advance to output amodel posture with the lowest matching cost as the maximum likelihoodposture.

This matching (matching carried out by the matching unit 15 shown inFIG. 1) is already described that the distances of “histograms in eachof the sample points”, which are the elements making up the shapecontext characteristic amounts, are used as the cost by calculated withsome sort of standards (chi-square distance, for example) andintegrated. However, the matching unit 101 does not integrate theindividual results of histogram calculations in order to determine theaccuracy of estimation, but the information processing device 100illustrated in FIG. 10 directly outputs the results to the accuracydetermination unit 103. Therefore, in a case that there are results ofcalculations with 100 histograms, for example, 100 operation results areoutput.

On the other hand, the matching unit 101 delivers data of the positionsof the joints in the maximum likelihood posture and data of the samplepoints to the fitting unit 102. From the characteristic amountextraction unit 14 to the fitting unit 102, the data of the samplepoints in the input image is delivered.

In step S152, the fitting unit 102 carries out a process of fitting. Thefitting unit 102 carries out a process of fitting the positional data(coordinates) of the sample points in the maximum likelihood posturedelivered from the matching unit 101 into the positional data of thesample points in the input image using a morphing method. There existsan error between the posture of the model detected as the maximumlikelihood posture and the posture in the input image, and in order tocorrect it, the process of fitting is carried out.

As the morphing method to be carried out by the fitting unit 102, amethod can be used that is called for by Fred. L. Bookstein at theUniversity of Michigan in “Principal Warps: Thin-plate Splines and theDecomposition of Deformations (IEEE Transaction on Pattern Analysis andMachine Intelligence, Vol. II, No. 6, June 1989)”. According to thismorphing method, a conversion matrix is obtained between thecorresponding sample points, and the coordinates fit into the inputimage can be obtained by applying this matrix to the coordinates of thejoints.

The fitting unit 102 calculates the Euclidean distances between the fitsample points and the corresponding sample points in the input image foreach of the points to output the Euclidean distances to the accuracydetermination unit 103.

In step S153, determination of the estimation accuracy is carried out inthe accuracy determination unit 103. The accuracy determination unit 103determines the quality of the accuracy based on the distances betweenthe matching cost delivered from the matching unit 101 and the samplepoints delivered from the fitting unit 102. For the determination, adiscriminator can be used that is built by supervised learning using amachine learning approach named Boosting. The Boosting is an approach ofmaking up one strong discriminator by combining a plurality of weakdiscriminators named Weak Learners. There are various types existing dueto the differences in learning methods and the like, and for example, anapproach named AdaBoost, which is called for by Y. Freund et al. at AT&Tin “A short Introduction to Boosting” (Journal of Japanese Society forArtificial Intelligence, 1999) can be applied to the embodiment of thepresent invention.

Here, performance evaluation is shown in FIG. 12 in which the applicantof the present invention made up an accuracy determination unit 103 asdescribed below and actually determined the accuracy. Firstly, thenumber of sample points was given as 100. In this case, the matchingcost became 100-dimensional and the distances between the sample pointsbecame 100-dimensional, so that learning was carried out with thecharacteristic amounts of totally 200 dimensions. Then, approximately200 pieces of positive sample images (with a good estimation result) andapproximately 1200 pieces of negative sample images (with a not-goodestimation result) were used for learning. As a result, a discriminatorwas generated with 128 Weak Learners and the accuracy determination unit103 was configured with the discriminator.

As a result, a result of performance evaluation as shown in FIG. 12 wasobtained. The graph on the right side in FIG. 12 has a horizontal axis,on which sample numbers are plotted, and a vertical axis, on whichoutputs of the discriminator are plotted, the first segment up toapproximately the sample number 200 is the result of the positivesamples and the remaining segment is the result of the negative samples.The graph illustrates that a positive output of the discriminator isdetermined as “good estimation accuracy” and a negative one isdetermined as “not-good estimation accuracy”. The graph on the left sideof FIG. 12 illustrates an ROC curve (receiver operating characteristiccurve). As understood from the ROC curve, it is found that thediscriminator have learned at a good level.

According to a result of the determination by the accuracy determinationunit 103 configured with such a discriminator, whether the accuracy isfair or not is determined in step S153. That is, an output of thediscriminator is evaluated in step S153 to be determined as “goodestimation accuracy” when positive and determined as “not-goodestimation accuracy” when negative. In step S154, whether or not thedetermination result has good estimation accuracy is determined.

In step S154, if it is determined that the estimation accuracy is good,the process is forwarded to step S155 and the estimation result from thematching unit 101 is output. If it is determined that the estimationaccuracy is not good in step S154, in other words, if it is determinedthat the estimation accuracy is not good, the process is forwarded tostep S156 and the estimation result is discarded without being output.

Although the above accuracy determination unit 103 is described that itdetermines the accuracy using the matching cost from the matching unit101 and the distance data from the fitting unit 102, it may alsodetermine the accuracy only with either one of the matching cost or thedistance data. In a case of determining the accuracy only with thematching cost, the information processing device 100 has a configurationin which the fitting unit 102 is deleted. Here, the reason why theaccuracy determination unit 103 is described to determine the accuracyusing the matching cost from the matching unit 101 and the distance datafrom the fitting unit 102 is that enables to carry out the accuracydetermination most accurately.

The accuracy of the estimation result is thus determined, and based onthe result of the determination, the estimation result can be determinedto be used or not to be used. Although such an example is given here, analternative may also, for example, regularly output the estimationresult itself regardless of the accuracy and a flag indicating theestimation result (accuracy) as well as the estimation result. It thenmay also be configuration in which whether or not to accept theestimation result can be determined on the side where it is output basedon the condition of the estimation result.

Estimation of the posture may be further carried out again based on thecondition of the accuracy. In other words, the information processingdevice 100 may also have a configuration of applying a feedback based onthe condition of the accuracy.

When the accuracy of the estimation is determined to be low, the lowaccuracy may be considered to be caused by that the image determined tobe a processing object is not appropriate to be a processing object.Then, a direction is given so as to apply a feedback to the image inputunit 11 and capture an image again. Then, a silhouette image and thelike may also be generated from the image captured again to carry outestimation of the posture. In a case of applying a feedback to the imageinput unit 11, not by capturing an image again but by adding a process,such as pixel interpolation, for example, to the image determined to bea processing object, a process, such as increasing the resolution, mayalso be added to process the image and a process may also be carried outto the processed image for estimating the posture again.

Alternatively, when the accuracy of the estimation is determined to below, the low accuracy may be considered to be caused at the time ofgeneration of the silhouette image in the silhouette extraction unit 12.Then, a feedback is applied to the silhouette extraction unit 12 todirect generation of a silhouette image again. The silhouette extractionunit 12 carries out, for the input image determined to be a processingobject, such a process of generating a silhouette image again by using,for example, a threshold different from a previous threshold. Then, aprocess may also be carried out to the generated silhouette image forestimating the posture again.

Alternatively, when the accuracy of the estimation is determined to below, the low accuracy may be considered to be caused at the time ofgeneration of the outline image in the outline extraction unit 13. Then,a feedback is applied to the outline extraction unit 13 to directgeneration of an outline image again. The outline extraction unit 13carries out such a process of generating an outline image again using,for example, an approach for edge extraction different from a previousapproach to the silhouette image determined to be a processing object.Then, a process may also be carried out to the generated outline imagefor estimation of the posture again.

Alternatively, when the accuracy of the estimation is determined to below, the low accuracy may be considered to be caused by the extractionof the characteristic amounts in the characteristic amount extractionunit 14. Then, a feedback is applied to the characteristic amountextraction unit 14 to direct extraction of characteristic amounts again.The characteristic amount extraction unit 14 carries out a process, forthe outline image determined to be a processing object, in which to, forexample, extract a sample point different from a previous sample point,in step 8123 (FIG. 3), for example, the data of a point different fromthe previously eliminated point is eliminated to eliminate one of thetwo points making up the minimum distance from the point data or a pointis eliminated by selecting a paint that is not previously selected toselect anyone from a plurality of candidates for elimination.

Alternatively, when the accuracy of the estimation is determined to below, the low accuracy may be considered to be caused by the matching inthe matching unit 101. Then, a feedback is applied to the matching unit101 to direct matching again. To carry out matching again, the matchingunit 101 carries out matching by applying an approach different from aprevious matching approach. For example, when extracting characteristicamounts again after using a chi-square distance as an approach forevaluation of the similarity of histograms, a reevaluation may also bemade by applying a different approach for evaluation, such as the KLdivergence and the Bhattacharyya distance.

Alternatively, when the matching is configured to be carried out withless sample points for comparison in order to reduce the amount ofoperations, matching may also be carried out again with an increasednumber of sample points for comparison. For example, although elevensample points are given for comparison in the example of the aboveembodiment, matching may also be carried out by further adding aplurality of sample points at the back and front (for example, twopoints each, totally four points) to the eleven points.

Alternatively, in a case of carrying out matching using groups of modelposture images of the tree structure illustrated in FIG. 8, although adescription is given that matching processes are carried out that isrepeated until the model posture images in the lowermost layer in such away that a model posture image with the minimum cost is selected fromthe model posture images making up the first level and then a modelposture image with the minimum cost is selected from model postureimages in the second level associated with the firstly selected modelposture image, rematching is carried out by eliminating the modelposture images selected until the previous time among the model postureimages making up the first level.

For example, when matching is carried out again because of a lowestimation accuracy for selecting the model posture image 111-1 beingpart of the first level, the model posture images 111-2 through 111-Lmaking up the model posture image group in the first level, other thanthe model posture image 111-1, are the model posture images formatching. In a case of carrying out such processes, the model postureimages with minimum costs in the three upper places, for example, may bestored in the first matching and the model posture image with a secondminimum cost may undergo matching during rematching.

The process may also be carried out regularly to make the model postureimages until the upper three places, for example, as the processingobjects regardless of whether or not configured to apply a feedback. Inother words, it may also have a configuration in which the minimum costsuntil the upper three places are output as the estimation postures whencarrying out the first matching and the accuracy determination unit 103selects one most likely posture among the estimation postures until theupper three places for output.

The part to which a feedback is applied may also be establisheddepending on the installation site, the throughput, and the like of theinformation processing device 100.

Although the result of the determination of the estimation accuracy isdescribed as whether the good estimation accuracy or the not-goodestimation accuracy in the above embodiment, the result of thedetermination may also be, for example, a percentage (%) indicating thelikelihood.

Thus, according to the embodiments of the present invention, not onlyestimation of a posture but also even the estimation accuracy can bedetermined. In addition, by determining such estimation accuracy, theestimation accuracy can be guaranteed and so a reliable initial valuecan be given even using the estimation result as an initial value fortracking a person. In addition, it becomes possible to be applied tovarious usages, such as applications using precise positions of thejoints, for example, controllers for games and operation interfaces formanipulators.

[Recording Medium]

The series of processing described above can be carried out by hardwareand also by software. In a case of carrying out the series of processingby software, a program making up the software is installed in acomputer. Here, such a computer includes a computer built in hardwarefor an exclusive purpose, a general purpose personal computer, forexample, possible to carry out various functions by installing variousprograms, and the like.

FIG. 13 is a block diagram illustrating an example of a hardwareconfiguration of a computer that carries out the series of processingdescribed above by a program. In the computer, a CPU (Central ProcessingUnit) 301, a ROM (Read Only Memory) 302, and a RAM (Random AccessMemory) 303 are connected by a bus 304 with each other. The bus 304 isfurther connected to an input/output interface 305. The input/outputinterface 305 is connected to an input unit 306, an output unit 307, amemory unit 308, a communication unit 309, and a drive 310.

The input unit 306 is made with a keyboard, a mouse, a microphone, andthe like. The output unit 307 is made with a display, a speaker, and thelike. The memory unit 308 is made with a hard disk, a non-volatilememory, and the like. The communication unit 309 is made with a networkinterface and the like. The drive 310 drives a removable media 311, suchas a magnetic disk, an optical disk, a magnetoptical disk, or asemiconductor memory.

In a computer configured as described above, the CPU 301 executes, forexample, a program stored in the memory unit 308 via the input/outputinterface 305 and the bus 304 by loading in the RAM 303, thereby theseries of processing described above are carried out.

The program executed by the computer (CPU 301) can be provided by beingrecorded in, for example, the removable media 311 as a packaged media orthe like. The program can also be provided via a wired or non-wiredtransmission medium, such as a local area network, the internet, anddigital satellite broadcasting.

In the computer, the program can be installed in the memory unit 308 viathe input/output interface 305 by placing the removable media 311 in thedrive 310. The program can also be received in the communication unit309 via a wired or non-wired transmission medium to be installed in thememory unit 308. Besides, the program can be preinstalled in the ROM 302or the memory unit 308.

The program executed by the computer may be a program in which theprocesses are carried out in time series according to the order in whichthe description is given herein or may also be a program in which theprocesses are carried out in parallel or at a desired timing, such as oncall.

A system is defined herein to represent an entire apparatus configuredwith a plurality of devices.

The present application contains subject matter related to thatdisclosed in Japanese priority Patent Application JP 2009-018179 filedin the Japan Patent Office on Jan. 29, 2009, the entire content of whichis hereby incorporated by reference.

Embodiments of the present invention are not limited to the embodimentsdescribed above, and various modifications may be possible withoutdeparting from the scope of the summary of the present invention.

The invention claimed is:
 1. An information processing apparatus,comprising: circuitry configured to: obtain, using an imaging device, animage of at least a part of a human subject; estimate a position of ajoint of the human subject based on the obtained image, the joint beinga place at which two parts of the human subject are joined; output,using a plurality of points and lines indicative of the estimatedposition of the joint, data indicative of the estimated position of thejoint of the human subject as an estimation result; and estimate aposture of the human subject based on the output data.
 2. Theinformation processing apparatus of claim 1, wherein the circuitry isconfigured to output the image of the at least a part of the humansubject.
 3. The information processing apparatus of claim 2, wherein thecircuitry is configured to output the data indicative of the estimatedposition of the joint of the human subject as an estimation result byoverlapping the plurality of points and lines on the image of the atleast a part of the human subject.
 4. The information processingapparatus of claim 2, wherein the circuitry is configured to generate aninstruction to control a gaming application in accordance with theestimated posture.
 5. The information processing apparatus of claim 1,wherein the circuitry is configured to determine a gesture of the atleast a part of the human subject based on the estimated posture.
 6. Theinformation processing apparatus of claim 1, wherein the circuitry isconfigured to determine whether the estimated posture corresponds to oneof predetermined postures.
 7. The information processing apparatus ofclaim 1, wherein each of the lines is straight.
 8. A method, comprising:obtaining, using an imaging device, an image of at least a part of ahuman subject; estimating, using circuitry, a position of a joint of thehuman subject based on the obtained image, the joint being a place atwhich two parts of the human subject are joined; outputting, using aplurality of points and lines indicative of the estimated position ofthe joint, data indicative of the estimated position of the joint of thehuman subject as an estimation result; and estimating a posture of thehuman subject based on the output data.
 9. A non-transitorycomputer-readable medium storing instructions that, when executed by atleast one processor, cause the at least one processor to perform amethod, comprising: obtaining, using an imaging device, an image of atleast a part of a human subject; estimating a position of a joint of thehuman subject based on the obtained image, the joint being a place atwhich two parts of the human subject are joined; outputting, using aplurality of points and lines indicative of the estimated position ofthe joint, data indicative of the estimated position of the joint of thehuman subject as an estimation result; and estimating a posture of thehuman subject based on the output data.